(function(a) {
	a.alerts = {
		verticalOffset: 0,
		horizontalOffset: 0,
		repositionOnResize: true,
		overlayOpacity: 0.50,
		overlayColor: "#FFF",
		draggable: true,
		okButton: "&nbsp;\u786e\u5b9a&nbsp;",
		cancelButton: "&nbsp;\u53d6\u6d88&nbsp;",
		dialogClass: null,
		alert: function(b, c, d) {
			if (c == null) {
				c = "\u63d0\u793a"
			}
			a.alerts._show(c, b, null, "alert",
			function(e) {
				if (d) {
					d(e)
				}
			},
			null, null, null, null)
		},
		confirm: function(b, c, d) {
			if (c == null) {
				c = "\u8bf7\u786e\u8ba4"
			}
			a.alerts._show(c, b, null, "confirm",
			function(e) {
				if (d) {
					d(e)
				}
			},
			null, null, null, null)
		},
		prompt: function(b, c, d, e) {
			if (d == null) {
				d = "\u8bf7\u586b\u5199"
			}
			a.alerts._show(d, b, c, "prompt",
			function(f) {
				if (e) {
					e(f)
				}
			},
			null, null, null, null)
		},
		openBox: function(f, g, b, c, e, d, i) {
			if (g == null) {
				g = "\u63d0\u793a"
			}
			a.alerts._show(g, f, null, "openBox",
			function(h) {
				if (i) {
					i(h)
				}
			},
			b, c, e, d)
		},
		overAlert: function(c, b) {
			a.alerts._overShow(c, b)
		},
		_overShow: function(d, c) {
			if (c == null) {
				c = 3000
			}
			var b = c + 600;
			a("body").append('<div id="over_container" style="display:none"><div id="over_message"></div></div>');
			a("#over_message").text(d).html(a("#over_message").text().replace(/\n/g, "<br />"));
			if (a.alerts.dialogClass) {
				a("#over_container").addClass(a.alerts.dialogClass)
			}
			var e = (a.browser.msie && parseInt(a.browser.version) <= 6) ? "absolute" : "fixed";
			a("#over_container").css({
				position: e,
				zIndex: 99999,
				width: 350,
				padding: 0,
				margin: 0
			}).show("fast");
			a("#over_container").css({
				minWidth: a("#over_container").outerWidth(),
				maxWidth: a("#over_container").outerWidth()
			});
			a.alerts._overReposition();
			setTimeout(function() {
				a("#over_container").hide("fast")
			},
			c);
			setTimeout(function() {
				a("#over_container").remove()
			},
			b)
		},
		_overReposition: function() {
			var c = 4;
			var b = ((a(window).width() / 2) - (a("#over_container").outerWidth() / 2)) + a.alerts.horizontalOffset;
			if (c < 0) {
				c = 0
			}
			if (b < 0) {
				b = 0
			}
			if (a.browser.msie && parseInt(a.browser.version) <= 6) {
				c = c + a(window).scrollTop()
			}
			if (a.browser.msie && parseInt(a.browser.version) <= 6) {
				b = b - 175
			}
			a("#over_container").css({
				top: c + "px",
				left: b + "px"
			});
			a("#popup_overlay").height(a(document).height())
		},
		_show: function(j, b, k, g, m, l, c, f, n) {
			a.alerts._hide();
			a.alerts._overlay("show");
			a("body").append('<div id="popup_container" style="display:none"><h1 id="popup_title"></h1><em id="ctl"></em><em id="cbl"></em><em id="ctr"></em><em id="cbr"></em><span id="popup_close"></span><div id="popup_content"><div id="popup_error"></div><div id="popup_html"></div><div id="popup_message"></div></div></div>');
			if (a.alerts.dialogClass) {
				a("#popup_container").addClass(a.alerts.dialogClass)
			}
			var i = (a.browser.msie && parseInt(a.browser.version) <= 6) ? "absolute" : "fixed";
			a("#popup_container").css({
				position: i,
				zIndex: 99999,
				padding: 0,
				margin: 0
			}).fadeIn("fast");
			a("#popup_title").html(j);
			a("#popup_content").addClass(g);
			if (g != "openBox") {
				a("#popup_message").text(b).html(a("#popup_message").text().replace(/\n/g, "<br />"))
			}
			a("#popup_container").css({});
			a.alerts._reposition();
			a.alerts._maintainPosition(true);
			switch (g) {
				case "alert":
					a("#popup_message").after('<div id="popup_panel"><input type="button" value="' + a.alerts.okButton + '" id="popup_ok" /></div>');
					a("#popup_ok").click(function() {
						a.alerts._hide();
						m(true)
					});
					a("#popup_ok").focus().keypress(function(h) {
						if (h.keyCode == 13 || h.keyCode == 27) {
							a("#popup_ok").trigger("click")
						}
					});
					break;
				case "confirm":
					a("#popup_message").after('<div id="popup_panel"><input type="button" value="' + a.alerts.okButton + '" id="popup_ok" /> <input type="button" value="' + a.alerts.cancelButton + '" id="popup_cancel" /></div>');
					a("#popup_ok").click(function() {
						a.alerts._hide();
						if (m) {
							m(true)
						}
					});
					a("#popup_cancel").click(function() {
						a.alerts._hide();
						if (m) {
							m(false)
						}
					});
					a("#popup_ok").focus();
					a("#popup_ok, #popup_cancel").keypress(function(h) {
						if (h.keyCode == 13) {
							a("#popup_ok").trigger("click")
						}
						if (h.keyCode == 27) {
							a("#popup_cancel").trigger("click")
						}
					});
					break;
				case "prompt":
					a("#popup_message").append('<br /><input type="text" size="30" id="popup_prompt" />').after('<div id="popup_panel"><input type="button" value="' + a.alerts.okButton + '" id="popup_ok" /> <input type="button" value="' + a.alerts.cancelButton + '" id="popup_cancel" /></div>');
					a("#popup_prompt").width(a("#popup_message").width() - 10);
					a("#popup_ok").click(function() {
						var e = a("#popup_prompt").val();
						a.alerts._hide();
						if (m) {
							m(e)
						}
					});
					a("#popup_cancel").click(function() {
						a.alerts._hide();
						if (m) {
							m(null)
						}
					});
					a("#popup_prompt, #popup_ok, #popup_cancel").keypress(function(h) {
						if (h.keyCode == 13) {
							a("#popup_ok").trigger("click")
						}
						if (h.keyCode == 27) {
							a("#popup_cancel").trigger("click")
						}
					});
					if (k) {
						a("#popup_prompt").val(k)
					}
					a("#popup_prompt").focus().select();
					break;
				case "openBox":
					a("#popup_message").append(a(b).html());
					if (l) {
						a("#popup_container").css({
							width:
						l + "px"
						})
					}
					if (c) {
						a("#popup_container").css({
							height: c + "px"
						});
						a("#popup_message").css({
							height: (c - 48) + "px"
						})
					}
					a.alerts._reposition();
					if (f) {
						a(f).click(function() {
							if (m) {
								m(true)
							}
						})
					}
					if (n) {
						a(n).click(function() {
							a.alerts._hide();
							return false;
							if (m) {
								m(false)
							}
						})
					}
					break
			}
			a("#popup_close").click(function() {
				a.alerts._hide();
				if (m) {
					m(false)
				}
			});
			if (a.alerts.draggable) {
				try {
					a("#popup_container").draggable({
						handle: a("#popup_title")
					});
					a("#popup_title").css({
						cursor: "move"
					})
				} catch (d) { }
			}
		},
		_hide: function() {
			a("#popup_container").remove();
			a.alerts._overlay("hide");
			a.alerts._maintainPosition(false)
		},
		_overlay: function(b) {
			switch (b) {
				case "show":
					a.alerts._overlay("hide");
					a("BODY").append('<div id="popup_overlay"></div>');
					a("#popup_overlay").css({
						position:
					"absolute",
						zIndex: 99998,
						top: "0px",
						left: "0px",
						width: "100%",
						height: a(document).height(),
						background: a.alerts.overlayColor,
						opacity: a.alerts.overlayOpacity
					});
					break;
				case "hide":
					a("#popup_overlay").remove();
					break
			}
		},
		_reposition: function() {
			var c = ((a(window).height() / 2) - (a("#popup_container").height() / 2)) + a.alerts.verticalOffset;
			//alert('window:' + a(window).height() + '\n' + 'popup:' + a("#popup_container").height());
			var b = ((a(window).width() / 2) - (a("#popup_container").width() / 2)) + a.alerts.horizontalOffset;
			if (c < 0) {
				c = 0
			}
			if (b < 0) {
				b = 0
			}
			if (a.browser.msie && parseInt(a.browser.version) <= 6) {
				c = c + a(window).scrollTop()
			}
			a("#popup_container").css({
				top: c + "px",
				left: b + "px"
			});
			a("#popup_overlay").height(a(document).height())
		},
		_maintainPosition: function(b) {
			if (a.alerts.repositionOnResize) {
				switch (b) {
					case true:
						a(window).bind("resize", a.alerts._reposition);
						break;
					case false:
						a(window).unbind("resize", a.alerts._reposition);
						break
				}
			}
		}
	};
	hiAlert = function(b, c, d) {
		a.alerts.alert(b, c, d)
	};
	hiConfirm = function(b, c, d) {
		a.alerts.confirm(b, c, d)
	};
	hiPrompt = function(b, c, d, e) {
		a.alerts.prompt(b, c, d, e)
	};
	hiBox = function(f, g, b, c, e, d, i) {
		a.alerts.openBox(f, g, b, c, e, d, i)
	};
	hiOverAlert = function(c, b) {
		a.alerts.overAlert(c, b)
	};
	hiHide = function() {
		a.alerts._hide();
	};
	hiError = function(er) {
		a("#popup_error").text(er);
	};
	hiHtml = function(html) {
		a("#popup_html").html(html);
	};
})(jQuery);
